package com.indexingsystem.system.service;

import java.util.List;

import com.indexingsystem.boss.common.PagedResult;
import com.indexingsystem.boss.entity.OperationsRelations;

public interface IOperationRelationsService {

	/**
	 * 通过功能操作关系id解除功能操作关系.
	 * 
	 * @param relationsId
	 * @return
	 */
	int deleteByPrimaryKey(String relationsId) throws Exception;

	/**
	 * 新增功能操作权限关系.
	 * 
	 * @param record
	 * @return
	 */
	int insert(OperationsRelations record) throws Exception;

	/**
	 * 新增功能操作权限关系.
	 * 
	 * @param record
	 * @return
	 */
	int insertSelective(OperationsRelations record) throws Exception;

	/**
	 * 通过功能操作id查询功能操作信息.
	 * 
	 * @param relationsId
	 * @return
	 */
	OperationsRelations selectByPrimaryKey(String relationsId);

	/**
	 * 修改功能操作关系信息.
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(OperationsRelations record) throws Exception;

	/**
	 * 修改功能操作关系信息.
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(OperationsRelations record) throws Exception;

	/**
	 * 获取总记录数.
	 * 
	 * @return
	 */
	Integer getOperationsRelationsCount();

	/**
	 * 分页查询功能操作权限列表.
	 * 
	 * @param functionId
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	PagedResult<OperationsRelations> getOperationsRelationsList(String functionId, Integer pageNo, Integer pageSize);

	/**
	 * 通过功能id查询功能操作权限已关联列表总数量.
	 * 
	 * @param functionId
	 * @return
	 */
	Integer getOperationsRelationsByFunctionIdCount(String functionId);

	/**
	 * 获取功能操作权限关联列表.
	 * 
	 * @param functionId
	 * @return
	 */
	List<OperationsRelations> getFunctionsOrOperationsRelationsList(String functionId);

	/**
	 * 批量删除功能操作权限关系.
	 * 
	 * @param functionId
	 * @return
	 */
	int deleteOperationsRelationsByIdBatch(List<String> relationsIdList);

	/**
	 * 批量新增功能操作权限关系.
	 * 
	 * @param operationsRelationsList
	 * @return
	 */
	int addOperationsRelationsBatch(List<OperationsRelations> list);
}